// 该文件实现两个接口
// 1. 上传文件
// 2. 查看文件

const router = require("express").Router();
// 引入 path 模块，处理文件路径
const path = require("path");
// 引入 multer 模块
const multer = require("multer");
// 创建一个 multer 的中间件
const upload = multer({
  dest: "upload", // 文件存储路径
});

/**
 * 1. 上传文件
 */
router.post("/upload", upload.single("hello"), (req, res) => {
  // 用上 upload 文件上传中间件之后，req 对象上会有一个 file 属性
  console.log(req.file);
  // 响应给前端的数据应该是一个图片的访问地址
  const fileUrl = `http://localhost:3001/admin/file/${req.file.filename}`;
  res.send(fileUrl);
});

/**
 * 2. 查看文件
 */
router.get("/:id", (req, res) => {
  // 1. 得到文件的绝对路径
  // const filePath = path.resolve(__dirname, '../upload', req.params.id)
  // // console.log('path', filePath)
  // // console.log('id', req.params.id)
  // // 2. sendFile 该文件
  // res.sendFile(filePath, {
  //   headers: {
  //     "Content-type": 'image/jpeg'
  //   }
  // })

  res.sendFile(req.params.id, {
    root: "./upload",
    headers: {
      "Content-type": "image/jpeg",
    },
  });
});

module.exports = router;
